package java07;
import java.io.*;
public class BufferedInputStreamTest01 {
    public static void main(String[] args){
        BufferedInputStream bis = null;
        BufferedOutputStream bos = null;
        try {
            //创建用于输入和输出的字节缓冲流对象
            bis = new BufferedInputStream(new FileInputStream("D:\\JAVA\\source\\src.jpg"));
            bos = new BufferedOutputStream(new FileOutputStream("D:\\JAVA\\target\\dest.jpg"));
            //定义一个int类型的变量len
            int len = 0;
            //定义一个长度为1024的字节数组
            byte[] buff = new byte[1024];
            //获取拷贝文件前的系统时间
            long beginTime = System.currentTimeMillis();
            //通过循环读取输入字节缓冲流中的数据，并通过输出字节缓冲流写入到新文件
            while((len = bis.read(buff)) != -1){
                bos.write(buff,0,len);
            }
            //获取拷贝之后的系统时间
            long endTime = System.currentTimeMillis();
            //输出拷贝时间
            System.out.println("花费时间为：" + (endTime - beginTime) + "毫秒");
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            //关闭流
            if(bis != null){
                try {
                    bis.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if(bos != null){
                try {
                    bos.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}
